import logger from 'koa-logger' // 引入日志输出组件中间件
import koaStatic from 'koa-static' // 引入静态资源映射中间件
import compress from 'koa-compress' // 引入gzip压缩中间件
import cacheControl from 'koa-cache-control' // 引入缓存控制中间件
import helmet from 'koa-helmet' // 引入xss过滤中间件
import utils from '../utils' // 引入工具类

export const index = app => {
  // XSS过滤
  app.use(helmet.xssFilter({
    setOnOldIE: true
  }));

  // gzip压缩
  app.use(compress())

  // 缓存控制
  app.use(cacheControl({
    public: 'public'
  }))
  
  // 静态资源目录
  app.use(koaStatic(utils.resolve('static'),{
    pathPrefix: '/'
  }))

  // 控制台输出日志
  if (process.env.NODE_ENV === 'development') {
    app.use(logger())
  }

}
